package com.gobo.eduservice.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gobo.commonutils.R;
import com.gobo.eduservice.pojo.EduCourse;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gobo.eduservice.pojo.front.FrontCourseQuery;
import com.gobo.eduservice.pojo.vo.CourseInfo;
import com.gobo.eduservice.pojo.vo.CoursePublishVo;
import com.gobo.eduservice.pojo.vo.EduCourseQuery;
import com.gobo.servicebase.vo.CourseInfoFormVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 课程 服务类
 * </p>
 *
 * @author gobo-generator
 * @since 2021-09-19
 */
public interface EduCourseService extends IService<EduCourse> {

    String saveCourseAndDescription(CourseInfo courseInfo);

    CourseInfo getCourseInfoById(String courseId);

    String updateCourseInfoById(CourseInfo courseInfo);

    CoursePublishVo getCoursePublishVo(String courseId);

    void pageQuery(Page<EduCourse> pageParam, EduCourseQuery eduCourseQuery);

    Boolean removeCourseByCourseId(String courseId);

    List<EduCourse> getIndexCourses();

    List<EduCourse> getFrontCourseByTeacherId(String id);

    Map<String, Object> getFrontCourseByCourseCourseQuery(Page<EduCourse> page, FrontCourseQuery courseQuery);

    R getFrontCourseInfoById(String id,String memberId);

    CourseInfoFormVo getCommonCourseInfoFormVo(String id);
}
